草庐IT

c++ - 为什么在 gcc 库中重复声明相同的类型

全部标签

ruby-on-rails - 访问父对象属性的 "rails way"是什么?

假设我有一个模型Doctor和一个模型Patient。Patientbelongs_toaDoctor。一个Doctor有一个属性office。我想,给定一个Patientp,能够说p.office并访问p的office的医生。我总是可以写一个方法classPatientbelongs_to:doctordefofficeself.doctor.officeend但是有没有一种更自动的方法可以将Doctor的所有属性方法公开给Patient?也许使用method_missing来获得某种包罗万象的方法? 最佳答案 你可以使用dele

ruby - 为什么日期之间的减法会返回 Rational 类型?

我正在尝试对日期执行减法运算。date_sent=Date.parse("2013-01-01")#=>Tue,01Jan2013date_now=Date.today#=>Wed,04Sep2013days=(date_now-date_sent)#=>(246/1)为什么date_now-date_sent返回一个Rational类型? 最佳答案 这是预期的行为。来自docs:d-other→dateorrationalDate.new(2001,2,3)-1#=>#Date.new(2001,2,3)-Date.new(200

ruby - `Kernel` 的目的是什么?

Kernel模块的用途是什么?如果当前在Kernel上定义的所有内容都在Object上定义,并且没有Kernel这样的模块,会有什么变化?当我想定义一个可以在任何对象上调用的方法时,我应该在Kernel上还是在Object上定义它? 最佳答案 我将从一个问题开始:self在一个典型的Kernel中会是什么?puts之类的方法?puts中最接近有意义的self的可能是Ruby运行时本身。同样对于其他“真正想成为函数的方法”,如Array或fork.因此,您可以将Kernel视为方法的垃圾场,这些方法或多或少是Ruby本身的命令或消息。

ruby-on-rails - 在 Rails 中,为什么 1.year.from_now 与 1.year.to_i.seconds.from_now 不同?

我能否让Rails在几秒钟内将相同的逻辑应用于我的计算,就像它在几年内对我的计算所做的一样?puts"#{1.year.from_now}|#{1.year.to_i.seconds.from_now}"2017-03-2318:48:06UTC|2017-03-2400:48:06UTC我不明白这6小时的时差从何而来。 最佳答案 相差6小时。这是因为以秒为单位的1年(由to_i方法转换)在RubyonRails核心扩展中被定义为365.25天:>>1.year.to_i/60/60/24.0=>365.25这0.25天是实际的6小

ruby - 为什么在 Ruby 中使用类变量被视为 'code smell' ?

根据Reek,创建类变量被认为是“代码味道”。这背后的解释是什么? 最佳答案 您可以在他们关于ClassVariables的文档中找到:Classvariablesformpartoftheglobalruntimestate,andassuchmakeiteasyforonepartofthesystemtoaccidentallyorinadvertentlydependonanotherpartofthesystem.Sothesystembecomesmorepronetoproblemswherechangingsomet

ruby - Fastfile 中的代码到底是什么

看起来不像一个普通的Ruby类,那么它到底是什么呢?一个大的Ruby“block”,一些被解析的自定义元语言?只是好奇。我知道您可以在Fastfile中使用Ruby;该范式达到了多远,您可以在Fastfile中定义类或函数,还是必须仅保留faSTLane支持的“channel”概念? 最佳答案 Doesn'tlooklikeastraightRubyclass不是一个类,不是。但仍然是普通的ruby。有点DSL魔法。这意味着您可以自由地定义类或以其他方式做任何您想做的事情,只要您仍然正确配置faSTLane(调用lane方法等等)。

ruby - 调试 Shoes 应用程序的最佳方法是什么?

Shoes有一些内置的转储命令(Shoes.debug),但是是否有其他工具可以在不注入(inject)调试消息的情况下调试代码?像gdb这样的东西会很棒。 最佳答案 您还可以使用Shoes.show_log自动打开调试控制台。 关于ruby-调试Shoes应用程序的最佳方法是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/63618/

ruby - 为什么 #!/usr/bin/env ruby​​ 在 crontab 中不起作用?

我已经通过rvm(系统范围)安装了ruby​​,并通过普通控制台正常工作,并且我的rails程序在railsrunner和apache2+passenger上运行正常.现在在crontab中,我调用了railsrunnerfoo.bar,它放弃了,仔细检查我看到的日志:/usr/bin/env:ruby:Nosuchfileordirectory有人知道为什么/usr/bin/env在crontab中不起作用吗? 最佳答案 如果您通过rvm安装了ruby​​,则ruby​​可能不在/usr/bin中。取决于rvm的安装位置:bash

ruby - 为什么我不能在 ruby​​ 的父目录中要求一个文件?

请注意,我没有使用Rails。我的目录结构如下:foo/bar/base_classes/base_classes.rb基础类.rb:Dir.glob(File.expand_path(File.join("base_classes/config/constants","*.rb"))){|file|requirefile}Dir.glob(File.expand_path(File.join("base_classes","*.rb"))){|file|requirefile}当我在这个根目录下>>require'base_classes'#=>true>>Card.load![st

ruby - 为什么需要 mongo 给我 LoadError : no such file to load -- openssl

我正在使用UbuntuServer10,Ruby1.9.2当我尝试要求'mongo'时它给我这个错误:irb(main):001:0>require'mongo'LoadError:nosuchfiletoload--opensslfrom/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in`require'from/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in`require'from/usr/local/lib